/*
* This file is a part of the open-eBackup project.
* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
* If a copy of the MPL was not distributed with this file, You can obtain one at
* http://mozilla.org/MPL/2.0/.
*
* Copyright (c) [2024] Huawei Technologies Co.,Ltd.
*
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
*/
package openbackup.system.base.sdk.agent.model;

import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * agent升级标志响应
 *
 */
@Data
public class AgentUpdateMarkResponse {
    @JsonProperty("sub_type")
    private String subType;

    private String discriminator;

    private String port;

    @JsonProperty("source_type")
    private Object sourceType;

    @JsonProperty("created_time")
    private LocalDateTime createdTime;

    @JsonProperty("user_name")
    private String userName;

    @JsonProperty("is_cluster")
    private Boolean isCluster;

    private String path;

    private String version;

    private String password;

    @JsonProperty("scan_interval")
    private Integer scanInterval;

    private String name;

    @JsonProperty("parent_name")
    private String parentName;

    @JsonProperty("protection_status")
    private Integer protectionStatus;

    @JsonProperty("link_status")
    private String linkStatus;

    @JsonProperty("cert_name")
    private String certName;

    private String uuid;

    @JsonProperty("user_id")
    private String userId;

    @JsonProperty("parent_uuid")
    private String parentUuid;

    private String location;

    @JsonProperty("time_zone")
    private String timeZone;

    @JsonProperty("root_uuid")
    private String rootUuid;

    @JsonProperty("os_type")
    private String osType;

    @JsonProperty("agent_version")
    private String agentVersion;

    private String type;

    @JsonProperty("children_uuids")
    private Object childrenUuids;

    @JsonProperty("os_name")
    private String osName;

    @JsonProperty("agent_timestamp")
    private Object agentTimestamp;

    @JsonProperty("authorized_user")
    private Object authorizedUser;

    private String endpoint;
}